package com.bwie.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.bwie.poi.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* @author :Beyond🎸🎸
* @date : 2025-10-27 10:37:57
* @description
* ${description}
**/
/**
 * 订单表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_order")
public class Order implements Serializable {
    /**
     * 订单id
     */
    @TableId(value = "order_id",type=IdType.AUTO)
    @Excel(name = "订单id",sort = 1)
    private Integer orderId;

    /**
     * 订单编号
     */
    @TableField(value = "order_no")
    @Excel(name = "订单编号",sort = 2)
    private String orderNo;

    /**
     * 订单状态0未支付1已支付2代发货
     */
    @TableField(value = "order_status")
    @Excel(name = "订单状态",sort = 3,readConverterExp = "0=未支付,1=已支付,2=代发货")
    private Integer orderStatus;

    /**
     * 订单金额
     */
    @TableField(value = "order_amount")
    @Excel(name = "订单金额",sort = 4)
    private BigDecimal orderAmount;

    /**
     * 支付时间
     */
    @TableField(value = "pay_time")
    private Date payTime;

    /**
     * 订单类型
     */
    @TableField(value = "order_type")
    @Excel(name = "订单类型",sort = 5,readConverterExp = "0=普通订单,1=秒杀订单,2=拼团订单")
    private Integer orderType;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Integer userId;

    /**
     * 商品信息
     */
    @TableField(value = "prod_info")
    @Excel(name = "商品信息",sort = 6)
    private String prodInfo;

    /**
     * 创建人
     */
    @TableField(value = "create_by")

    private Integer createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @Excel(name = "创建时间",sort = 7)
    private Date createTime;

    /**
     * 更新人
     */
    @TableField(value = "update_by")
    private Integer updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 删除标识0未删除1已删除
     */
    @TableField(value = "delete_flag")
    private Integer deleteFlag;

    /**
     * 删除时间
     */
    @TableField(value = "delete_date")
    private Date deleteDate;

    @TableField(exist = false)
    private Integer pageNum;

    @TableField(exist = false)
    private Integer pageSize;

    @TableField(exist = false)
    private String keyWord;

    @TableField(exist = false)
    private Date startTime;

    @TableField(exist = false)
    private Date endTime;

    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private List<String> prodImagesList;

    private static final long serialVersionUID = 1L;
}